Skip to content

Conversation

@deepika-awasthi
Copy link
Contributor

What was changed

  • Added a temporalcloudopenmetrics demo that shows how to scrape Temporal Cloud OpenMetrics with Prometheus and visualize in Grafana.
  • Included Docker Compose setup + Prometheus scrape config + Grafana provisioning (datasource + dashboard).
  • Added a simple Java worker + starter that can run common scenarios (success/fail/cancel/continue/timeout) to generate dashboard data.

Why?

To provide an end-to-end, copy/paste friendly reference for Temporal Cloud customers who want to:

  • verify OpenMetrics scraping quickly
  • get a working Grafana dashboard with minimal setup
  • generate real workflow/activity events to confirm metrics are flowing

Checklist

  1. How was this tested:
  • docker compose up -d and verified:
    • Grafana loads at http://localhost:3001 and the dashboard is present
    • Prometheus loads at http://localhost:9093 and scrape target is UP
  • Ran the sample:
    • ./gradlew -q execute -PmainClass=io.temporal.samples.temporalcloudopenmetrics.WorkerMain
    • ./gradlew -q execute -PmainClass=io.temporal.samples.temporalcloudopenmetrics.Starter
    • Confirmed metrics populate in Grafana panels and queries return data in Prometheus
  1. Any docs updates needed?
  • README added/updated inside the demo folder with step-by-step setup instructions.

public static final String NAMESPACE = env("TEMPORAL_NAMESPACE", "deepika-test-namespace.a2dd6");

public static final String ADDRESS =
env("TEMPORAL_ADDRESS", "deepika-test-namespace.a2dd6.tmprl.cloud:7233");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹

env("TEMPORAL_ADDRESS", "deepika-test-namespace.a2dd6.tmprl.cloud:7233");

public static final String CERT =
env("TEMPORAL_CERT", "/Users/deepikaawasthi/temporal/temporal-certs/client.pem");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹

env("TEMPORAL_CERT", "/Users/deepikaawasthi/temporal/temporal-certs/client.pem");

public static final String KEY =
env("TEMPORAL_KEY", "/Users/deepikaawasthi/temporal/temporal-certs/client.key");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹

private TemporalConnection() {}

// add your namespace here
public static final String NAMESPACE = env("TEMPORAL_NAMESPACE", "deepika-test-namespace.a2dd6");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants